Skip to content

Conversation

@Matthewacon
Copy link
Collaborator

So I still have to finish the core implementation and documentation, not to mention the other 75% of planned features, but as it is, the OI class has been universalized as a library tool for using and manipulating controller sources for the robot. There are a few methods that are missing documentation, and a few without bodies... Those I will finish within the next day. To use the API all you need to do is create a class that extends the new OI class, which by the way will be renamed and moved into it's own package, and use that new class as the spot for all controller related affairs. Just as a note, during construction, the OI library automatically initializes itself meaning that it will register and initialize all of the controllers before hand, so you don't actually have to do anything other than extend the class to create all of the controllers.

WARNING: I'm fairly certain that I screwed up some of the math in the initialization_2() method and so at the moment if you try to use the library, nothing will work because it'll automatically throw either a custom exception or a buffer overrun/overflow error... Also, I HAVEN'T TESTED ANYTHING YET SO DON'T RELY ON IT UNTIL AFTER IT'S BEEN TESTED. However, aside from the initialization error, I am pretty sure that everything works.

Oh and another thing to take note of is that, the classes that previously directly interacted with the OI class are all broken because of a number of reasons:

  1. I didn't spend the time to fix them because it was outdated code from the master repository
  2. The OI library is now an public abstract class meaning that you must extend it to initialize / construct it
  3. I didn't actually move the new OI library out of it's package, nor did I rename it appropriately or at all for that matter, so as this branch currently stands, there is no OI class.

Steps for branch merging:

  • DO NOT COPY THE CODE OUT OF THIS BRANCH'S OI CLASS INTO ANOTHER BRANCH AND DELETE THIS BRANCH, THAT IS NOT HOW GITHUB WORKS.
  1. Prep the branch to be merged into, presumably the testing branch, for the new library tools by creating a new package, somewhere along the lines of "src.org.team4716.lib"
  2. Merge only the OI class into the same package in the testing branch as the buttonify branch, and then rename it appropriately and move it to the new package.
  3. Close the pull request and delete the buttonify branch if it wasn't already done automatically.

 - Intemediary commit for version 1.0 of the OI class as a universal library
 - Fixing various repository issues
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants